技術問答
技術文章
iT 徵才
Tag
聊天室
2023 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
21
0
自我挑戰組
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
系列 第
21
篇
Day 21: 事件處理 (Part 1)
11th鐵人賽
javascript
javascript 大全
7ackson
2019-10-07 22:07:33
722 瀏覽
分享至
事件類型
表單事件
表單在送出時會發出submit事件,重置時會發出reset事件。
按鈕類(<button>包含radio、checkbox)點擊時會有click事件。
change事件會在使用者與表單互動完畢,然後轉移焦點至其他元素或按下tab才會觸發。
表單元素會在它們取得或失去鍵盤焦點時發出focus或blur事件。(focus/blur不會有bubble)
window事件
load事件: 當文件和所有資源都已載入完成後,會觸發。(readystatechange與DOMContentLoaded是load事件的替代方法除了外部資源可能未載入完成,但document與元素都以載入完畢就會觸發)
unload事件: 當使用者導覽至其他document離開目前的document觸發。(unload可用來儲存使用者狀態但無法取消導覽,beforeunload類似unload,但它有機會向使用者詢問是否離開的確認)
onerror事件: JavaScript發生錯誤時會被觸發。
focus/blur: 也可用在window物件,當瀏覽器視窗取得或失去焦點時會觸發。
resize / scroll事件
滑鼠事件
傳給滑鼠事件處理器具有一組特性,用來描述滑鼠位置與滑鼠按鍵的狀態。
clientX/clientY表示滑鼠在視窗的座標。
button/which表示按下了哪個滑鼠按鍵。
altKey/ctrlKey/metaKey/shiftKey搭配鍵盤按下鍵盤修飾鍵回傳true。
click事件下,在detail指出單擊或雙擊。
mousemove事件: 移動或拖拉滑鼠時會被觸發。
mousedown/mouseup事件: 滑鼠按下與放開時觸發。
藉由mousemove和mousedown來偵測拖拉動作。
當滑鼠移到元素上方,瀏覽器會在元素上發出mouseover事件,移開時會發出mouseout事件。(mouseover/mouseout會有bubble)
relatedTarget特性: 指出在轉移過程中所涉及的元素。
mousewheel事件: 在滾動滑鼠時觸發。
key事件
瀏覽器取得鍵盤事件。
傳給鍵盤事件處理器的物件裡會有keyCode特性。
鍵盤按下後事件發生順序: keydown->keypress->keyup。
HTML5事件
新增了<audio>和<vidio>元素有一系列的事件(paly/playing/waiting/ended/...)
drag and drop API定義了七個事件(dragstart/drag/dragend/drapenter/dragover/dragleave/drop)
歷史瀏覽管理機制: hashchange和popstate事件。
Html表單定義了表單驗證機制,驗證失敗會發出invaild事件。
觸控與行動裝置事件
touchscreen事件類似滑鼠的click和scroll事件,
apple 產品會有gesture(手勢)、touch(觸碰)事件,旋轉時會有orientationchange事件
留言
追蹤
檢舉
上一篇
Day 20: JavaScript操作CSS
下一篇
Day 22: 事件處理 (Part 2)
系列文
Javascript 犀牛本-濃縮再濃縮 提煉再提煉
共
30
篇
目錄
RSS系列文
訂閱系列文
11
人訂閱
26
Day 26: JavaScript操作媒體與圖形 (Part 2)
27
Day 27: HTML5 API (Part 1)
28
Day 28: HTML5 API (Part 2)
29
Day 29: jQuery (Part 1)
30
Day 30: jQuery (Part 2)
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1123
組
團體組數
52
組
累計文章數
23097
篇
完賽人數
656
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
python
windows
php
c#
windows server
linux
css
react
程式設計
vue.js
熱門問題
請問如何讓20出頭的人,由不會到會呢
一般硬體防火牆,對外 大多要限制那些服務?
請問有人可以幫我下載這個百度雲盤檔案到Google drive嗎?
想請問公司信箱網域被GMAIL封鎖的解決方法
租用電腦服務
請問目前有甚麼免費的簽到系統可以用?
這是信箱被盜了嗎
[已解決]寶可夢GO亞洲預選賽的報名表單是不是設計錯了...
Rocky Linux 登入問題
Ubuntu 鍵盤滑鼠突然無法使用,但畫面並非凍結
熱門回答
請問如何讓20出頭的人,由不會到會呢
一般硬體防火牆,對外 大多要限制那些服務?
請問目前有甚麼免費的簽到系統可以用?
使用unity做單機遊戲再改成線上可行嗎?
YouTube 轉MPEG應用哪種軟體?
熱門文章
Bigme B251 25.1吋 彩色電子紙螢幕
所有常用HTML標籤的層級和用途
Seednet 網域名稱申請.網址移轉.郵件代管.網站代管 設定畫面 遠傳 FET SEEDNET 新世紀資通 網域代管 DNS SPF DMARC 設定畫面 DKIM
ubuntu 24.04 LTS 與嘸蝦米
NVIDIA ChatRTX 個人測試報告加登入及中文化
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}